package ConnectMysql;

import java.nio.channels.NetworkChannel;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/*
 * 连接数据库
 * 1:加载驱动Class.forName();
 * 2;创建Connection对象建立数据库的连接DriverManager.getConnection(url, user, password)
 */

public class ConnectMysql {
	Connection con;
	public Connection getConnection() {
		try {
			/*
			 * 由于DriverManager类不是自动跟踪可用的驱动类,需要将驱动类主动放到DriverManager中
			 * 1:将驱动类(com.mysql.jdbc.Driver)通过静态方法forName()加载到JVM虚拟机中
			 * 2:加载完驱动类后会执行源程序中的静态方法自动新建一个Driver的对象
			 * 3:并调用DriverManager.registerDriver把自己注册到DriverManager中去
			 * 4: Connection实例化后就建立了[ java程序--驱动类--Mysql ]之间的联系了
			 */
			Class.forName("com.mysql.jdbc.Driver");//com.mysql.jdbc.Driver是一个驱动类的完全限定名
			System.out.println("驱动加载成功");
		}catch(ClassNotFoundException e) {
			System.out.println("驱动加载失败");
		}
		try {
			//连接mysql数据库格式为"jdbc:mysql://[host:port],[host:port]..."   #jdbc为协议名:mysql为子协议名
			String url="jdbc:mysql://localhost/proaction";//localhost代表本机,不设定端口默认3306
			String user="root";
			String password="root";
			con=DriverManager.getConnection(url, user, password);//实例化Connection对象
			System.out.println("数据库连接成功");
		}catch(SQLException e) {
			System.out.println("数据库连接失败");
		}
		return con;
	}
	public static void main(String[] args) {
		ConnectMysql test=new ConnectMysql();
		test.getConnection();
	}
}
